#ifndef UNIONSYSTEMGVL_H
#define UNIONSYSTEMGVL_H
#include <QString>

typedef struct GvlBool{
    bool var;
    QString Note;
}GvlBool;

typedef struct GvlInt{
    int  var;
    QString Note;
}GvlInt;

typedef struct GvlDouble{
    int  var;
    QString Note;
}GvlDouble;

class UnionSystemGvl{
public:
    UnionSystemGvl();
    ~UnionSystemGvl();
private:
    GvlBool OutGvlBool[4096];
    GvlBool InGvlBool[4096];
    GvlInt  OutGvlInit[4096];
    GvlInt  InGvlInit[4096];
    GvlDouble OutGvlDouble[4096];
    GvlDouble InGvlDouble[4096];
public:
    bool ReadGvlBool(int order,bool& var);
    bool WriteGvlBool(int order,bool var);

    bool ReadGvlInt(int order,int& var);
    bool WriteGvlInt(int order,int var);

    bool ReadGvlDouble(int order,double& var);
    bool WriteGvlDouble(int order,double var);
};

#endif // UNIONSYSTEMGVL_H
